<template>
	<view class="mine-container" :style="{ height: `${windowHeight}px` }">
		<!--顶部个人信息栏-->
		<view class="header-section">
			<view class="flex padding justify-between">
				<view class="flex align-center">
					<view v-if="!avatar" class="cu-avatar xl round bg-white">
						<view class="iconfont icon-people text-gray icon"></view>
					</view>
					<image v-if="avatar" @click="handleToAvatar" :src="avatar" class="cu-avatar xl round" mode="widthFix"></image>
					<view v-if="!name" @click="handleToLogin" class="login-tip">点击登录</view>
					<view v-if="name" @click="handleToInfo" class="user-info">
						<view class="u_title">用户名：{{ name }}</view>
					</view>
				</view>
				<view @click="handleToInfo" class="flex align-center">
					<text>个人信息</text>
					<view class="iconfont icon-right"></view>
				</view>
			</view>
		</view>

		<view class="content-section">
			<view class="menu-list">
				<view class="list-cell list-cell-arrow" @click="handleToEditInfo">
					<view class="menu-item-box">
						<view class="iconfont icon-user menu-icon"></view>
						<view>编辑资料</view>
					</view>
				</view>
				<view class="list-cell list-cell-arrow" @click="handleHelp">
					<view class="menu-item-box">
						<view class="iconfont icon-help menu-icon"></view>
						<view>常见问题</view>
					</view>
				</view>
				<view class="list-cell list-cell-arrow" @click="handleAbout">
					<view class="menu-item-box">
						<view class="iconfont icon-aixin menu-icon"></view>
						<view>关于我们</view>
					</view>
				</view>
				<view class="list-cell list-cell-arrow" @click="handleToSetting">
					<view class="menu-item-box">
						<view class="iconfont icon-setting menu-icon"></view>
						<view>应用设置</view>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script setup>
import { useUserStore } from '@/store';
import { computed, getCurrentInstance } from 'vue';

const { proxy } = getCurrentInstance();
const name = useUserStore().name;
const avatar = computed(() => useUserStore().avatar);
const windowHeight = computed(() => uni.getSystemInfoSync().windowHeight - 50);

function handleToInfo() {
	proxy.$tab.navigateTo('/pages/mine/info/index');
}

function handleToEditInfo() {
	proxy.$tab.navigateTo('/pages/mine/info/edit');
}

function handleToSetting() {
	proxy.$tab.navigateTo('/pages/mine/setting/index');
}

function handleToLogin() {
	proxy.$tab.reLaunch('/pages/login');
}

function handleToAvatar() {
	proxy.$tab.navigateTo('/pages/mine/avatar/index');
}

function handleHelp() {
	proxy.$tab.navigateTo('/pages/mine/help/index');
}

function handleAbout() {
	proxy.$tab.navigateTo('/pages/mine/about/index');
}

function handleBuilding() {
	proxy.$modal.showToast('模块建设中~');
}
</script>

<style lang="scss" scoped>
page {
	background-color: #f5f6f7;
}

.mine-container {
	width: 100%;
	height: 100%;

	.header-section {
		padding: 15px 15px 45px 15px;
		background-color: #3c96f3;
		color: white;

		.login-tip {
			font-size: 18px;
			margin-left: 10px;
		}

		.cu-avatar {
			border: 2px solid #eaeaea;

			.icon {
				font-size: 40px;
			}
		}

		.user-info {
			margin-left: 15px;

			.u_title {
				font-size: 18px;
				line-height: 30px;
			}
		}
	}

	.content-section {
		position: relative;
		top: -50px;

		.mine-actions {
			margin: 15px 15px;
			padding: 20px 0px;
			border-radius: 8px;
			background-color: white;

			.action-item {
				.icon {
					font-size: 28px;
				}

				.text {
					display: block;
					font-size: 13px;
					margin: 8px 0px;
				}
			}
		}
	}
}
</style>
